import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
import axios from "axios";
import VueAxios from "vue-axios";
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
Vue.config.productionTip = false
Vue.use(ElementUI);
Vue.use(VueAxios,axios);


axios.defaults.baseURL='http://192.168.16.131:10010';
// 添加请求拦截器
axios.interceptors.request.use(function (config) {
  // 在发送请求之前做些什么
  let token= sessionStorage.getItem("token");
  config.headers.token=token;
  return config;
}, function (error) {
  // 对请求错误做些什么
  return Promise.reject(error);
});

// // 导航守卫-- 动态路由
router.beforeEach((to, from, next) => {
//     let isAuthenticated = sessionStorage.getItem("token");//获取token
//  console.log(isAuthenticated)
//     if (to.name !== 'login' && !isAuthenticated) {//如果没有登录且目标路由不是登录则导航到登录页面
//         next({name: 'login'})//
//     }
  //如果已经登录
  // if (isAuthenticated && to.name !== 'login' && router.getRoutes().length == 2) {//index.js 默认配置了两个静态理由 ,则需要执行动态路由
  axios.get('http://127.0.0.1:6785/menu/lookmenu').then(res => {
    let menuData = res.data.data;//获取一级菜单
    menuData.forEach(menu => {
          // eslint-disable-next-line no-prototype-builtins
          //      if (menu.hasOwnProperty("children")) {
          menu.children.forEach(subMenu => { //遍历二级菜单
            let newRouter = {
              menuName: subMenu.menuName,
              path: subMenu.path,

            }
            newRouter.component = () => import( './views/system/' + subMenu.component + '.vue');
            console.log(newRouter)
            router.options.routes[0].children.push(newRouter);
          })
          // }
        }
    )
    router.addRoutes(router.options.routes);
  })

  // }
  next();

})

new Vue({
  router,
  store,
  render: h => h(App)
}).$mount('#app')
